package com.songlanyun.modules.pointsexchangeconfig.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;

import com.songlanyun.common.drive.RootEntity;
import com.songlanyun.modules.notifytemp.entity.NotifyTempEntity;
import lombok.Data;

import javax.validation.constraints.*;

/**
 * 积分兑换配置
 *
 * @author wuchao
 * @email songlanyun@gmail.com
 * @date 2022-08-06 15:34:36
 */
@Data
@TableName("yxt_points_exchange_config")
public class PointsExchangeConfigEntity extends RootEntity<Long, PointsExchangeConfigEntity> implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @TableId
    private Long id;
    /**
     * 捐赠兑换比例
     */
    @NotNull(message = "捐赠兑换比例不能为空")
    @DecimalMin(value = "0.01", message = "捐赠兑换比例最小为0.01")
    @DecimalMax(value = "999.99", message = "捐赠兑换比例最大为999.99")
    private BigDecimal donationExchangeRatio;
    /**
     * 服务积分兑换比例
     */
    @NotNull(message = "服务积分兑换比例不能为空")
    @DecimalMin(value = "0.01", message = "捐赠兑换比例最小为0.01")
    @DecimalMax(value = "999.99", message = "捐赠兑换比例最大为999.99")
    private BigDecimal servicePointsExchangeRatio;
    /**
     * 爱心值
     */
    @NotNull(message = "爱心值不能为空")
    @Min(value = 1, message = "爱心值最小为1")
    @Max(value = 9999, message = "爱心值最小为9999")
    private Integer loveValue;
    /**
     * 公益积分
     */
    @NotNull(message = "公益积分不能为空")
    @DecimalMin(value = "0.01", message = "公益积分最小为0.01")
    @DecimalMax(value = "999.99", message = "公益积分最大为999.99")
    private BigDecimal publicWelfareIntegral;
    /**
     * 公益积分使用比例
     */
    @NotNull(message = "公益积分使用比例不能为空")
    @Min(value = 1, message = "公益积分使用比例最小为1")
    @Max(value = 100, message = "公益积分使用比例最大为100")
    private Integer integralUseRatio;
    /**
     * 公益捐款比例（平台店）
     */
    @NotNull(message = "公益积分使用比例不能为空")
    @Min(value = 1, message = "公益积分使用比例最小为1")
    @Max(value = 100, message = "公益积分使用比例最大为100")
    private Integer contributionRatioPlatform;
    /**
     * 公益捐款比例（三方店）
     */
    @NotNull(message = "公益积分使用比例不能为空")
    @Min(value = 1, message = "公益积分使用比例最小为1")
    @Max(value = 100, message = "公益积分使用比例最大为100")
    private Integer contributionRatioThirdparty;


    @Override
    public Long getIdentity() {
        return this.getId();
    }
}
